package com.ehotting.edsta.circuitDesign.generator.domain;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName ot_system_operation_logs
 */
public class OtSystemOperationLogs implements Serializable {
    /**
     * 日志ID，主键
     */
    private Long logID;

    /**
     * 操作时间戳
     */
    private Date operationTimestamp;

    /**
     * 执行操作的用户ID
     */
    private Integer userID;

    /**
     * 执行操作的用户名
     */
    private String userName;

    /**
     * 执行操作的用户邮箱
     */
    private String userEmail;

    /**
     * 操作类型
     */
    private Object operationType;

    /**
     * 被操作资源的名称
     */
    private String resourceName;

    /**
     * 被操作资源的ID
     */
    private Long resourceID;

    /**
     * 被操作资源的类型
     */
    private String resourceType;

    /**
     * 操作详细信息
     */
    private String actionDetails;

    /**
     * 操作前的值（如果适用）
     */
    private String oldValue;

    /**
     * 操作后的值（如果适用）
     */
    private String newValue;

    /**
     * 执行操作的IP地址
     */
    private String IPAddress;

    /**
     * 用户代理字符串（浏览器信息等）
     */
    private String userAgent;

    /**
     * 操作结果
     */
    private Object outcome;

    /**
     * 如果操作失败，则记录错误代码
     */
    private Integer errorCode;

    /**
     * 如果操作失败，则记录详细的错误信息
     */
    private String errorMessage;

    /**
     * 操作持续时间（毫秒）
     */
    private Integer duration;

    /**
     * 执行操作的系统或应用名称
     */
    private String systemName;

    /**
     * 执行操作的模块或组件名称
     */
    private String moduleName;

    /**
     * 执行操作的函数或方法名称
     */
    private String functionName;

    /**
     * 相关ID，用于跟踪跨多个服务或日志条目的操作
     */
    private String correlationID;

    /**
     * 请求头信息（如果适用）
     */
    private String requestHeaders;

    /**
     * 响应头信息（如果适用）
     */
    private String responseHeaders;

    /**
     * 请求负载（如API请求体）
     */
    private String requestPayload;

    /**
     * 响应负载（如API响应体）
     */
    private String responsePayload;

    /**
     * 会话ID
     */
    private String sessionID;

    /**
     * 事务ID
     */
    private String transactionID;

    /**
     * 标记日志是否包含敏感信息
     */
    private Integer isSensitive;

    /**
     * 客户端版本（如果适用）
     */
    private String clientVersion;

    /**
     * 服务器版本
     */
    private String serverVersion;

    /**
     * 数据中心位置
     */
    private String dataCenter;

    /**
     * 地理区域
     */
    private String region;

    /**
     * Azure资源组（如果适用）
     */
    private String azureResourceGroup;

    /**
     * AWS账户ID（如果适用）
     */
    private String awsAccountId;

    /**
     * GCP项目ID（如果适用）
     */
    private String gcpProjectId;

    /**
     * 额外信息1
     */
    private String extraInfo1;

    /**
     * 额外信息2
     */
    private String extraInfo2;

    /**
     * 额外信息3
     */
    private String extraInfo3;

    /**
     * 额外信息4
     */
    private String extraInfo4;

    /**
     * 额外信息5
     */
    private String extraInfo5;

    /**
     * 额外信息6
     */
    private String extraInfo6;

    /**
     * 额外信息7
     */
    private String extraInfo7;

    /**
     * 额外信息8
     */
    private String extraInfo8;

    /**
     * 额外信息9
     */
    private String extraInfo9;

    /**
     * 额外信息10
     */
    private String extraInfo10;

    /**
     * 额外信息11
     */
    private String extraInfo11;

    /**
     * 额外信息12
     */
    private String extraInfo12;

    /**
     * 额外信息13
     */
    private String extraInfo13;

    /**
     * 额外信息14
     */
    private String extraInfo14;

    /**
     * 额外信息15
     */
    private String extraInfo15;

    /**
     * 记录创建时间
     */
    private Date createdAt;

    /**
     * 记录最后更新时间
     */
    private Date updatedAt;

    private static final long serialVersionUID = 1L;

    /**
     * 日志ID，主键
     */
    public Long getLogID() {
        return logID;
    }

    /**
     * 日志ID，主键
     */
    public void setLogID(Long logID) {
        this.logID = logID;
    }

    /**
     * 操作时间戳
     */
    public Date getOperationTimestamp() {
        return operationTimestamp;
    }

    /**
     * 操作时间戳
     */
    public void setOperationTimestamp(Date operationTimestamp) {
        this.operationTimestamp = operationTimestamp;
    }

    /**
     * 执行操作的用户ID
     */
    public Integer getUserID() {
        return userID;
    }

    /**
     * 执行操作的用户ID
     */
    public void setUserID(Integer userID) {
        this.userID = userID;
    }

    /**
     * 执行操作的用户名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 执行操作的用户名
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 执行操作的用户邮箱
     */
    public String getUserEmail() {
        return userEmail;
    }

    /**
     * 执行操作的用户邮箱
     */
    public void setUserEmail(String userEmail) {
        this.userEmail = userEmail;
    }

    /**
     * 操作类型
     */
    public Object getOperationType() {
        return operationType;
    }

    /**
     * 操作类型
     */
    public void setOperationType(Object operationType) {
        this.operationType = operationType;
    }

    /**
     * 被操作资源的名称
     */
    public String getResourceName() {
        return resourceName;
    }

    /**
     * 被操作资源的名称
     */
    public void setResourceName(String resourceName) {
        this.resourceName = resourceName;
    }

    /**
     * 被操作资源的ID
     */
    public Long getResourceID() {
        return resourceID;
    }

    /**
     * 被操作资源的ID
     */
    public void setResourceID(Long resourceID) {
        this.resourceID = resourceID;
    }

    /**
     * 被操作资源的类型
     */
    public String getResourceType() {
        return resourceType;
    }

    /**
     * 被操作资源的类型
     */
    public void setResourceType(String resourceType) {
        this.resourceType = resourceType;
    }

    /**
     * 操作详细信息
     */
    public String getActionDetails() {
        return actionDetails;
    }

    /**
     * 操作详细信息
     */
    public void setActionDetails(String actionDetails) {
        this.actionDetails = actionDetails;
    }

    /**
     * 操作前的值（如果适用）
     */
    public String getOldValue() {
        return oldValue;
    }

    /**
     * 操作前的值（如果适用）
     */
    public void setOldValue(String oldValue) {
        this.oldValue = oldValue;
    }

    /**
     * 操作后的值（如果适用）
     */
    public String getNewValue() {
        return newValue;
    }

    /**
     * 操作后的值（如果适用）
     */
    public void setNewValue(String newValue) {
        this.newValue = newValue;
    }

    /**
     * 执行操作的IP地址
     */
    public String getIPAddress() {
        return IPAddress;
    }

    /**
     * 执行操作的IP地址
     */
    public void setIPAddress(String IPAddress) {
        this.IPAddress = IPAddress;
    }

    /**
     * 用户代理字符串（浏览器信息等）
     */
    public String getUserAgent() {
        return userAgent;
    }

    /**
     * 用户代理字符串（浏览器信息等）
     */
    public void setUserAgent(String userAgent) {
        this.userAgent = userAgent;
    }

    /**
     * 操作结果
     */
    public Object getOutcome() {
        return outcome;
    }

    /**
     * 操作结果
     */
    public void setOutcome(Object outcome) {
        this.outcome = outcome;
    }

    /**
     * 如果操作失败，则记录错误代码
     */
    public Integer getErrorCode() {
        return errorCode;
    }

    /**
     * 如果操作失败，则记录错误代码
     */
    public void setErrorCode(Integer errorCode) {
        this.errorCode = errorCode;
    }

    /**
     * 如果操作失败，则记录详细的错误信息
     */
    public String getErrorMessage() {
        return errorMessage;
    }

    /**
     * 如果操作失败，则记录详细的错误信息
     */
    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    /**
     * 操作持续时间（毫秒）
     */
    public Integer getDuration() {
        return duration;
    }

    /**
     * 操作持续时间（毫秒）
     */
    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    /**
     * 执行操作的系统或应用名称
     */
    public String getSystemName() {
        return systemName;
    }

    /**
     * 执行操作的系统或应用名称
     */
    public void setSystemName(String systemName) {
        this.systemName = systemName;
    }

    /**
     * 执行操作的模块或组件名称
     */
    public String getModuleName() {
        return moduleName;
    }

    /**
     * 执行操作的模块或组件名称
     */
    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    /**
     * 执行操作的函数或方法名称
     */
    public String getFunctionName() {
        return functionName;
    }

    /**
     * 执行操作的函数或方法名称
     */
    public void setFunctionName(String functionName) {
        this.functionName = functionName;
    }

    /**
     * 相关ID，用于跟踪跨多个服务或日志条目的操作
     */
    public String getCorrelationID() {
        return correlationID;
    }

    /**
     * 相关ID，用于跟踪跨多个服务或日志条目的操作
     */
    public void setCorrelationID(String correlationID) {
        this.correlationID = correlationID;
    }

    /**
     * 请求头信息（如果适用）
     */
    public String getRequestHeaders() {
        return requestHeaders;
    }

    /**
     * 请求头信息（如果适用）
     */
    public void setRequestHeaders(String requestHeaders) {
        this.requestHeaders = requestHeaders;
    }

    /**
     * 响应头信息（如果适用）
     */
    public String getResponseHeaders() {
        return responseHeaders;
    }

    /**
     * 响应头信息（如果适用）
     */
    public void setResponseHeaders(String responseHeaders) {
        this.responseHeaders = responseHeaders;
    }

    /**
     * 请求负载（如API请求体）
     */
    public String getRequestPayload() {
        return requestPayload;
    }

    /**
     * 请求负载（如API请求体）
     */
    public void setRequestPayload(String requestPayload) {
        this.requestPayload = requestPayload;
    }

    /**
     * 响应负载（如API响应体）
     */
    public String getResponsePayload() {
        return responsePayload;
    }

    /**
     * 响应负载（如API响应体）
     */
    public void setResponsePayload(String responsePayload) {
        this.responsePayload = responsePayload;
    }

    /**
     * 会话ID
     */
    public String getSessionID() {
        return sessionID;
    }

    /**
     * 会话ID
     */
    public void setSessionID(String sessionID) {
        this.sessionID = sessionID;
    }

    /**
     * 事务ID
     */
    public String getTransactionID() {
        return transactionID;
    }

    /**
     * 事务ID
     */
    public void setTransactionID(String transactionID) {
        this.transactionID = transactionID;
    }

    /**
     * 标记日志是否包含敏感信息
     */
    public Integer getIsSensitive() {
        return isSensitive;
    }

    /**
     * 标记日志是否包含敏感信息
     */
    public void setIsSensitive(Integer isSensitive) {
        this.isSensitive = isSensitive;
    }

    /**
     * 客户端版本（如果适用）
     */
    public String getClientVersion() {
        return clientVersion;
    }

    /**
     * 客户端版本（如果适用）
     */
    public void setClientVersion(String clientVersion) {
        this.clientVersion = clientVersion;
    }

    /**
     * 服务器版本
     */
    public String getServerVersion() {
        return serverVersion;
    }

    /**
     * 服务器版本
     */
    public void setServerVersion(String serverVersion) {
        this.serverVersion = serverVersion;
    }

    /**
     * 数据中心位置
     */
    public String getDataCenter() {
        return dataCenter;
    }

    /**
     * 数据中心位置
     */
    public void setDataCenter(String dataCenter) {
        this.dataCenter = dataCenter;
    }

    /**
     * 地理区域
     */
    public String getRegion() {
        return region;
    }

    /**
     * 地理区域
     */
    public void setRegion(String region) {
        this.region = region;
    }

    /**
     * Azure资源组（如果适用）
     */
    public String getAzureResourceGroup() {
        return azureResourceGroup;
    }

    /**
     * Azure资源组（如果适用）
     */
    public void setAzureResourceGroup(String azureResourceGroup) {
        this.azureResourceGroup = azureResourceGroup;
    }

    /**
     * AWS账户ID（如果适用）
     */
    public String getAwsAccountId() {
        return awsAccountId;
    }

    /**
     * AWS账户ID（如果适用）
     */
    public void setAwsAccountId(String awsAccountId) {
        this.awsAccountId = awsAccountId;
    }

    /**
     * GCP项目ID（如果适用）
     */
    public String getGcpProjectId() {
        return gcpProjectId;
    }

    /**
     * GCP项目ID（如果适用）
     */
    public void setGcpProjectId(String gcpProjectId) {
        this.gcpProjectId = gcpProjectId;
    }

    /**
     * 额外信息1
     */
    public String getExtraInfo1() {
        return extraInfo1;
    }

    /**
     * 额外信息1
     */
    public void setExtraInfo1(String extraInfo1) {
        this.extraInfo1 = extraInfo1;
    }

    /**
     * 额外信息2
     */
    public String getExtraInfo2() {
        return extraInfo2;
    }

    /**
     * 额外信息2
     */
    public void setExtraInfo2(String extraInfo2) {
        this.extraInfo2 = extraInfo2;
    }

    /**
     * 额外信息3
     */
    public String getExtraInfo3() {
        return extraInfo3;
    }

    /**
     * 额外信息3
     */
    public void setExtraInfo3(String extraInfo3) {
        this.extraInfo3 = extraInfo3;
    }

    /**
     * 额外信息4
     */
    public String getExtraInfo4() {
        return extraInfo4;
    }

    /**
     * 额外信息4
     */
    public void setExtraInfo4(String extraInfo4) {
        this.extraInfo4 = extraInfo4;
    }

    /**
     * 额外信息5
     */
    public String getExtraInfo5() {
        return extraInfo5;
    }

    /**
     * 额外信息5
     */
    public void setExtraInfo5(String extraInfo5) {
        this.extraInfo5 = extraInfo5;
    }

    /**
     * 额外信息6
     */
    public String getExtraInfo6() {
        return extraInfo6;
    }

    /**
     * 额外信息6
     */
    public void setExtraInfo6(String extraInfo6) {
        this.extraInfo6 = extraInfo6;
    }

    /**
     * 额外信息7
     */
    public String getExtraInfo7() {
        return extraInfo7;
    }

    /**
     * 额外信息7
     */
    public void setExtraInfo7(String extraInfo7) {
        this.extraInfo7 = extraInfo7;
    }

    /**
     * 额外信息8
     */
    public String getExtraInfo8() {
        return extraInfo8;
    }

    /**
     * 额外信息8
     */
    public void setExtraInfo8(String extraInfo8) {
        this.extraInfo8 = extraInfo8;
    }

    /**
     * 额外信息9
     */
    public String getExtraInfo9() {
        return extraInfo9;
    }

    /**
     * 额外信息9
     */
    public void setExtraInfo9(String extraInfo9) {
        this.extraInfo9 = extraInfo9;
    }

    /**
     * 额外信息10
     */
    public String getExtraInfo10() {
        return extraInfo10;
    }

    /**
     * 额外信息10
     */
    public void setExtraInfo10(String extraInfo10) {
        this.extraInfo10 = extraInfo10;
    }

    /**
     * 额外信息11
     */
    public String getExtraInfo11() {
        return extraInfo11;
    }

    /**
     * 额外信息11
     */
    public void setExtraInfo11(String extraInfo11) {
        this.extraInfo11 = extraInfo11;
    }

    /**
     * 额外信息12
     */
    public String getExtraInfo12() {
        return extraInfo12;
    }

    /**
     * 额外信息12
     */
    public void setExtraInfo12(String extraInfo12) {
        this.extraInfo12 = extraInfo12;
    }

    /**
     * 额外信息13
     */
    public String getExtraInfo13() {
        return extraInfo13;
    }

    /**
     * 额外信息13
     */
    public void setExtraInfo13(String extraInfo13) {
        this.extraInfo13 = extraInfo13;
    }

    /**
     * 额外信息14
     */
    public String getExtraInfo14() {
        return extraInfo14;
    }

    /**
     * 额外信息14
     */
    public void setExtraInfo14(String extraInfo14) {
        this.extraInfo14 = extraInfo14;
    }

    /**
     * 额外信息15
     */
    public String getExtraInfo15() {
        return extraInfo15;
    }

    /**
     * 额外信息15
     */
    public void setExtraInfo15(String extraInfo15) {
        this.extraInfo15 = extraInfo15;
    }

    /**
     * 记录创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 记录创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 记录最后更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 记录最后更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        OtSystemOperationLogs other = (OtSystemOperationLogs) that;
        return (this.getLogID() == null ? other.getLogID() == null : this.getLogID().equals(other.getLogID()))
            && (this.getOperationTimestamp() == null ? other.getOperationTimestamp() == null : this.getOperationTimestamp().equals(other.getOperationTimestamp()))
            && (this.getUserID() == null ? other.getUserID() == null : this.getUserID().equals(other.getUserID()))
            && (this.getUserName() == null ? other.getUserName() == null : this.getUserName().equals(other.getUserName()))
            && (this.getUserEmail() == null ? other.getUserEmail() == null : this.getUserEmail().equals(other.getUserEmail()))
            && (this.getOperationType() == null ? other.getOperationType() == null : this.getOperationType().equals(other.getOperationType()))
            && (this.getResourceName() == null ? other.getResourceName() == null : this.getResourceName().equals(other.getResourceName()))
            && (this.getResourceID() == null ? other.getResourceID() == null : this.getResourceID().equals(other.getResourceID()))
            && (this.getResourceType() == null ? other.getResourceType() == null : this.getResourceType().equals(other.getResourceType()))
            && (this.getActionDetails() == null ? other.getActionDetails() == null : this.getActionDetails().equals(other.getActionDetails()))
            && (this.getOldValue() == null ? other.getOldValue() == null : this.getOldValue().equals(other.getOldValue()))
            && (this.getNewValue() == null ? other.getNewValue() == null : this.getNewValue().equals(other.getNewValue()))
            && (this.getIPAddress() == null ? other.getIPAddress() == null : this.getIPAddress().equals(other.getIPAddress()))
            && (this.getUserAgent() == null ? other.getUserAgent() == null : this.getUserAgent().equals(other.getUserAgent()))
            && (this.getOutcome() == null ? other.getOutcome() == null : this.getOutcome().equals(other.getOutcome()))
            && (this.getErrorCode() == null ? other.getErrorCode() == null : this.getErrorCode().equals(other.getErrorCode()))
            && (this.getErrorMessage() == null ? other.getErrorMessage() == null : this.getErrorMessage().equals(other.getErrorMessage()))
            && (this.getDuration() == null ? other.getDuration() == null : this.getDuration().equals(other.getDuration()))
            && (this.getSystemName() == null ? other.getSystemName() == null : this.getSystemName().equals(other.getSystemName()))
            && (this.getModuleName() == null ? other.getModuleName() == null : this.getModuleName().equals(other.getModuleName()))
            && (this.getFunctionName() == null ? other.getFunctionName() == null : this.getFunctionName().equals(other.getFunctionName()))
            && (this.getCorrelationID() == null ? other.getCorrelationID() == null : this.getCorrelationID().equals(other.getCorrelationID()))
            && (this.getRequestHeaders() == null ? other.getRequestHeaders() == null : this.getRequestHeaders().equals(other.getRequestHeaders()))
            && (this.getResponseHeaders() == null ? other.getResponseHeaders() == null : this.getResponseHeaders().equals(other.getResponseHeaders()))
            && (this.getRequestPayload() == null ? other.getRequestPayload() == null : this.getRequestPayload().equals(other.getRequestPayload()))
            && (this.getResponsePayload() == null ? other.getResponsePayload() == null : this.getResponsePayload().equals(other.getResponsePayload()))
            && (this.getSessionID() == null ? other.getSessionID() == null : this.getSessionID().equals(other.getSessionID()))
            && (this.getTransactionID() == null ? other.getTransactionID() == null : this.getTransactionID().equals(other.getTransactionID()))
            && (this.getIsSensitive() == null ? other.getIsSensitive() == null : this.getIsSensitive().equals(other.getIsSensitive()))
            && (this.getClientVersion() == null ? other.getClientVersion() == null : this.getClientVersion().equals(other.getClientVersion()))
            && (this.getServerVersion() == null ? other.getServerVersion() == null : this.getServerVersion().equals(other.getServerVersion()))
            && (this.getDataCenter() == null ? other.getDataCenter() == null : this.getDataCenter().equals(other.getDataCenter()))
            && (this.getRegion() == null ? other.getRegion() == null : this.getRegion().equals(other.getRegion()))
            && (this.getAzureResourceGroup() == null ? other.getAzureResourceGroup() == null : this.getAzureResourceGroup().equals(other.getAzureResourceGroup()))
            && (this.getAwsAccountId() == null ? other.getAwsAccountId() == null : this.getAwsAccountId().equals(other.getAwsAccountId()))
            && (this.getGcpProjectId() == null ? other.getGcpProjectId() == null : this.getGcpProjectId().equals(other.getGcpProjectId()))
            && (this.getExtraInfo1() == null ? other.getExtraInfo1() == null : this.getExtraInfo1().equals(other.getExtraInfo1()))
            && (this.getExtraInfo2() == null ? other.getExtraInfo2() == null : this.getExtraInfo2().equals(other.getExtraInfo2()))
            && (this.getExtraInfo3() == null ? other.getExtraInfo3() == null : this.getExtraInfo3().equals(other.getExtraInfo3()))
            && (this.getExtraInfo4() == null ? other.getExtraInfo4() == null : this.getExtraInfo4().equals(other.getExtraInfo4()))
            && (this.getExtraInfo5() == null ? other.getExtraInfo5() == null : this.getExtraInfo5().equals(other.getExtraInfo5()))
            && (this.getExtraInfo6() == null ? other.getExtraInfo6() == null : this.getExtraInfo6().equals(other.getExtraInfo6()))
            && (this.getExtraInfo7() == null ? other.getExtraInfo7() == null : this.getExtraInfo7().equals(other.getExtraInfo7()))
            && (this.getExtraInfo8() == null ? other.getExtraInfo8() == null : this.getExtraInfo8().equals(other.getExtraInfo8()))
            && (this.getExtraInfo9() == null ? other.getExtraInfo9() == null : this.getExtraInfo9().equals(other.getExtraInfo9()))
            && (this.getExtraInfo10() == null ? other.getExtraInfo10() == null : this.getExtraInfo10().equals(other.getExtraInfo10()))
            && (this.getExtraInfo11() == null ? other.getExtraInfo11() == null : this.getExtraInfo11().equals(other.getExtraInfo11()))
            && (this.getExtraInfo12() == null ? other.getExtraInfo12() == null : this.getExtraInfo12().equals(other.getExtraInfo12()))
            && (this.getExtraInfo13() == null ? other.getExtraInfo13() == null : this.getExtraInfo13().equals(other.getExtraInfo13()))
            && (this.getExtraInfo14() == null ? other.getExtraInfo14() == null : this.getExtraInfo14().equals(other.getExtraInfo14()))
            && (this.getExtraInfo15() == null ? other.getExtraInfo15() == null : this.getExtraInfo15().equals(other.getExtraInfo15()))
            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getLogID() == null) ? 0 : getLogID().hashCode());
        result = prime * result + ((getOperationTimestamp() == null) ? 0 : getOperationTimestamp().hashCode());
        result = prime * result + ((getUserID() == null) ? 0 : getUserID().hashCode());
        result = prime * result + ((getUserName() == null) ? 0 : getUserName().hashCode());
        result = prime * result + ((getUserEmail() == null) ? 0 : getUserEmail().hashCode());
        result = prime * result + ((getOperationType() == null) ? 0 : getOperationType().hashCode());
        result = prime * result + ((getResourceName() == null) ? 0 : getResourceName().hashCode());
        result = prime * result + ((getResourceID() == null) ? 0 : getResourceID().hashCode());
        result = prime * result + ((getResourceType() == null) ? 0 : getResourceType().hashCode());
        result = prime * result + ((getActionDetails() == null) ? 0 : getActionDetails().hashCode());
        result = prime * result + ((getOldValue() == null) ? 0 : getOldValue().hashCode());
        result = prime * result + ((getNewValue() == null) ? 0 : getNewValue().hashCode());
        result = prime * result + ((getIPAddress() == null) ? 0 : getIPAddress().hashCode());
        result = prime * result + ((getUserAgent() == null) ? 0 : getUserAgent().hashCode());
        result = prime * result + ((getOutcome() == null) ? 0 : getOutcome().hashCode());
        result = prime * result + ((getErrorCode() == null) ? 0 : getErrorCode().hashCode());
        result = prime * result + ((getErrorMessage() == null) ? 0 : getErrorMessage().hashCode());
        result = prime * result + ((getDuration() == null) ? 0 : getDuration().hashCode());
        result = prime * result + ((getSystemName() == null) ? 0 : getSystemName().hashCode());
        result = prime * result + ((getModuleName() == null) ? 0 : getModuleName().hashCode());
        result = prime * result + ((getFunctionName() == null) ? 0 : getFunctionName().hashCode());
        result = prime * result + ((getCorrelationID() == null) ? 0 : getCorrelationID().hashCode());
        result = prime * result + ((getRequestHeaders() == null) ? 0 : getRequestHeaders().hashCode());
        result = prime * result + ((getResponseHeaders() == null) ? 0 : getResponseHeaders().hashCode());
        result = prime * result + ((getRequestPayload() == null) ? 0 : getRequestPayload().hashCode());
        result = prime * result + ((getResponsePayload() == null) ? 0 : getResponsePayload().hashCode());
        result = prime * result + ((getSessionID() == null) ? 0 : getSessionID().hashCode());
        result = prime * result + ((getTransactionID() == null) ? 0 : getTransactionID().hashCode());
        result = prime * result + ((getIsSensitive() == null) ? 0 : getIsSensitive().hashCode());
        result = prime * result + ((getClientVersion() == null) ? 0 : getClientVersion().hashCode());
        result = prime * result + ((getServerVersion() == null) ? 0 : getServerVersion().hashCode());
        result = prime * result + ((getDataCenter() == null) ? 0 : getDataCenter().hashCode());
        result = prime * result + ((getRegion() == null) ? 0 : getRegion().hashCode());
        result = prime * result + ((getAzureResourceGroup() == null) ? 0 : getAzureResourceGroup().hashCode());
        result = prime * result + ((getAwsAccountId() == null) ? 0 : getAwsAccountId().hashCode());
        result = prime * result + ((getGcpProjectId() == null) ? 0 : getGcpProjectId().hashCode());
        result = prime * result + ((getExtraInfo1() == null) ? 0 : getExtraInfo1().hashCode());
        result = prime * result + ((getExtraInfo2() == null) ? 0 : getExtraInfo2().hashCode());
        result = prime * result + ((getExtraInfo3() == null) ? 0 : getExtraInfo3().hashCode());
        result = prime * result + ((getExtraInfo4() == null) ? 0 : getExtraInfo4().hashCode());
        result = prime * result + ((getExtraInfo5() == null) ? 0 : getExtraInfo5().hashCode());
        result = prime * result + ((getExtraInfo6() == null) ? 0 : getExtraInfo6().hashCode());
        result = prime * result + ((getExtraInfo7() == null) ? 0 : getExtraInfo7().hashCode());
        result = prime * result + ((getExtraInfo8() == null) ? 0 : getExtraInfo8().hashCode());
        result = prime * result + ((getExtraInfo9() == null) ? 0 : getExtraInfo9().hashCode());
        result = prime * result + ((getExtraInfo10() == null) ? 0 : getExtraInfo10().hashCode());
        result = prime * result + ((getExtraInfo11() == null) ? 0 : getExtraInfo11().hashCode());
        result = prime * result + ((getExtraInfo12() == null) ? 0 : getExtraInfo12().hashCode());
        result = prime * result + ((getExtraInfo13() == null) ? 0 : getExtraInfo13().hashCode());
        result = prime * result + ((getExtraInfo14() == null) ? 0 : getExtraInfo14().hashCode());
        result = prime * result + ((getExtraInfo15() == null) ? 0 : getExtraInfo15().hashCode());
        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", logID=").append(logID);
        sb.append(", operationTimestamp=").append(operationTimestamp);
        sb.append(", userID=").append(userID);
        sb.append(", userName=").append(userName);
        sb.append(", userEmail=").append(userEmail);
        sb.append(", operationType=").append(operationType);
        sb.append(", resourceName=").append(resourceName);
        sb.append(", resourceID=").append(resourceID);
        sb.append(", resourceType=").append(resourceType);
        sb.append(", actionDetails=").append(actionDetails);
        sb.append(", oldValue=").append(oldValue);
        sb.append(", newValue=").append(newValue);
        sb.append(", IPAddress=").append(IPAddress);
        sb.append(", userAgent=").append(userAgent);
        sb.append(", outcome=").append(outcome);
        sb.append(", errorCode=").append(errorCode);
        sb.append(", errorMessage=").append(errorMessage);
        sb.append(", duration=").append(duration);
        sb.append(", systemName=").append(systemName);
        sb.append(", moduleName=").append(moduleName);
        sb.append(", functionName=").append(functionName);
        sb.append(", correlationID=").append(correlationID);
        sb.append(", requestHeaders=").append(requestHeaders);
        sb.append(", responseHeaders=").append(responseHeaders);
        sb.append(", requestPayload=").append(requestPayload);
        sb.append(", responsePayload=").append(responsePayload);
        sb.append(", sessionID=").append(sessionID);
        sb.append(", transactionID=").append(transactionID);
        sb.append(", isSensitive=").append(isSensitive);
        sb.append(", clientVersion=").append(clientVersion);
        sb.append(", serverVersion=").append(serverVersion);
        sb.append(", dataCenter=").append(dataCenter);
        sb.append(", region=").append(region);
        sb.append(", azureResourceGroup=").append(azureResourceGroup);
        sb.append(", awsAccountId=").append(awsAccountId);
        sb.append(", gcpProjectId=").append(gcpProjectId);
        sb.append(", extraInfo1=").append(extraInfo1);
        sb.append(", extraInfo2=").append(extraInfo2);
        sb.append(", extraInfo3=").append(extraInfo3);
        sb.append(", extraInfo4=").append(extraInfo4);
        sb.append(", extraInfo5=").append(extraInfo5);
        sb.append(", extraInfo6=").append(extraInfo6);
        sb.append(", extraInfo7=").append(extraInfo7);
        sb.append(", extraInfo8=").append(extraInfo8);
        sb.append(", extraInfo9=").append(extraInfo9);
        sb.append(", extraInfo10=").append(extraInfo10);
        sb.append(", extraInfo11=").append(extraInfo11);
        sb.append(", extraInfo12=").append(extraInfo12);
        sb.append(", extraInfo13=").append(extraInfo13);
        sb.append(", extraInfo14=").append(extraInfo14);
        sb.append(", extraInfo15=").append(extraInfo15);
        sb.append(", createdAt=").append(createdAt);
        sb.append(", updatedAt=").append(updatedAt);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}